package class1.s2022350143027.controller;

import class1.s2022350143027.data.UsersData;
import class1.s2022350143027.model.UserModel;
import class1.s2022350143027.service.Impl.YzyLoginServiceImpl;

import java.util.Scanner;


/**
 * 登录显示控制
 * <p>
 * (登录业务逻辑接口，登录方法)
 * @author yzy
 * @date 2024-05-02
 */
public class LoginController {

    //声明登录业务逻辑接口
    protected YzyLoginServiceImpl loginService;

    /**
     * 登录页面实现
     */
    public boolean Login() {
        //输入准备
        Scanner scanner = new Scanner(System.in);
        while (true) {
            int code = (int) (Math.random()*9000+1000);  //验证码产生示例，完成作业需随机生成4位数

            System.out.println("\n=========进销存管理系统=========");
            System.out.println("欢迎使用，请先登录！");
            System.out.println("登录验证码：" + code);

            System.out.print("输入用户名:");
            String user = scanner.next();

            System.out.print("输入密码:");
            String pwd = scanner.next();

            System.out.print("输入验证码:");
            int codeInput = scanner.nextInt();

            if(codeInput != code){
                System.out.println("验证码输入错误！");
                continue;
            }

            //由于没加相关用户数据库或者记事本,因此这里直接判断不判断用户是否存在
//            if(user.isEmpty() || pwd.isEmpty() || !ValidateBaseUtil.checkUser(user) || !ValidateBaseUtil.checkPassword(pwd)){
//                //用户名或密码格式错误！
//                //输出提示，完成作业自行完善
//                //直到输入正确用户名密码
//                System.out.println("用户名或密码格式错误！");
//                continue;
//            }




            //建立单个用户对象模型，储存其用户名及密码
            UserModel userModel = new UserModel();
            userModel.setUsername(user);
            userModel.setPassword(pwd);

            //创建用户们数据，方便储存。
            UsersData usersData = new UsersData();
            //单个用户对象 写入 用户们对象数据集
            usersData.addUserDataList(userModel);



            loginService = new YzyLoginServiceImpl();
            loginService.add_all(usersData.getUserDataList());
            return loginService.checkLogin(userModel);
        }
    }
}
